Kotlin 教學【Kotlin 入門指南】系列文章目錄

閱讀時間約 11 分鐘
raw-image
Kotlin 線上課程教學影片 (持續更新中...):https://bit.ly/49pYePp
舊版 Kotlin 線上課程教學影片:https://bit.ly/3qJ5a5Q

Kotlin 是 Google 官方推薦的 Android 開發語言,具有簡潔、安全、高效等優點,受到越來越多開發者的青睞。如果你也想學習 Kotlin,卻不知道從哪裡開始,那麼這本【Kotlin 入門指南】就是你的最佳選擇。

無論你是否具備程式設計經驗,這本指南都會循序漸進地帶領你踏入 Kotlin 的世界。我們將由基礎語法、邏輯判斷,直至循環控制等重要概念,由淺入深地解說。透過清晰易懂的教學內容,你將在輕鬆的學習氛圍中,迅速掌握 Kotlin 的核心知識。

Kotlin 具備強大的跨平台特性,不僅適用於 Android 應用程式開發,還可應用於 Server 服務端應用程式、Web 應用程式等眾多領域。它融合了物件導向和函數式程式設計的特點,讓你能以更自然的方式編寫程式碼,同時享受到靜態類型語言所帶來的安全性和效能優勢。這本指南將引導你進入 Kotlin 的程式世界,讓你輕鬆掌握這門優雅而強大的語言。

祝大家學習的路上開心。

作者:HKT 侯光燦

文章更新日期:2024-04-07

目錄

1. Kotlin 開發環境 (Kotlin Programming Environment)

1.1 安裝 Kotlin 開發軟體
1.2 從零開始建立第一個 Kotlin 專案
1.3 IntelliJ IDEA 開發環境介紹
1.4 第一行程式碼 Hello World
1.5 IntelliJ IDEA 智慧化提示功能

2. Kotlin 基礎語法 (Kotlin Basic Syntax)

2.1 常數與變數 (Variables)
2.2 單行、多行註解程式 (Comments)
2.3 IntelliJ IDEA 常用快捷鍵 (Shortcut Keys)

2.4 Kotlin 基本資料型態 (Basic Types)

2.4.1 基本資料型態:整數、浮點數 (Numbers)
2.4.2 基本資料型態:布林值 (Booleans)
2.4.3 基本資料型態:字串 (Strings)
2.4.4 資料類型轉換 (Type Conversion)

2.5 Kotlin 條件控制 (Kotlin Conditional Statements)

2.5.1 if 條件控制
2.5.2 when 條件控制

2.6 Kotlin 集合資料 (Kotlin Collections)

2.6.1 List 集合
2.6.2 Map 集合
2.6.3 Set 集合

2.7 Kotlin 循環控制 (Kotlin Loop)

2.7.1 for 迴圈,循環控制
2.7.2 while 迴圈,循環控制
2.7.3 跳轉語句: break、continue、return
2.7.4 範圍循環操作:Range

2.8 Kotlin 運算符號 (Kotlin Operators)

2.8.1 指派運算符號 (assignment operator)
2.8.2 數學運算符號 (mathematical operators)
2.8.3 複合指派運算符號 (augmented assignment operators)
2.8.4 比較運算符號 (comparison operators)
2.8.5 邏輯運算符號 (logical operators)

2.9 Kotlin 函數 (Kotlin Function)

2.9.1 基本函數定義
2.9.2 帶有參數的函數定義
2.9.3 函數有回傳值定義
2.9.4 函數有預設參數值定義
2.9.5 命名參數的方式來呼叫函數
2.9.6 單行表達式函數
2.9.7 Unit 無返回資料值類型
2.9.8 Nothing 類型和 TODO 待辦事項處理

3. Kotlin 匿名函數 (Kotlin Anonymous Functions & Lambda Expressions)

3.1 無參數範例
3.2 單一參數範例
3.3 單一參數使用 it 取代範例
3.4 多個參數範例
3.5 輸入名稱定義資料類型可省略
3.6 函數當參數傳遞
3.7 Trailing lambda
3.8 Inline 內聯函數

4. kotlin Null 安全 (Kotlin Null safety)

4.1 資料不可為空
4.2 資料可為空
4.3 存取可為空的變數,方式一: 使用 null check
4.4 存取可為空的變數,方式二: 使用 「let」標準函數
4.5 存取可為空的變數,方式三: 使用 safe call 「?.」運算符號
4.6 存取可為空的變數,方式四: 使用「!!」堅持資料不為空運算符號

5. kotlin 例外處理 (Kotlin Exception Handling)

5.1 throw 拋出例外
5.2 例外處理 (try…catch/finally)
5.3 自定義異常處理
5.4 kotlin 預先條件函數 (Precondition functions)

6. Kotlin 類別 (Kotlin Classes)

6.1 定義類別的方法
6.2 存取類別的屬性
6.3 修改 getter 與 setter 方法
6.4 類別初始化
6.5 lateinit & lazy

7. Kotlin 繼承 (Kotlin Inheritance)

7.1 繼承
7.2 Any 類別
7.3 可見性修飾關鍵字

8. Kotlin 物件 (Kotlin Object)

8.1 Class 實體化範例
8.2 Object 單例模式 Singleton 範例
8.3 Object 宣告式 Declaration
8.4 Object 表達式 Expressions
8.5 Companion Object 伴生物件

9. Kotlin 介面與抽象類別 (Kotlin Interfaces & Abstract Classes)

9.1 介面 (Interfaces)
9.2 抽象類別 (abstract)

10. Kotlin 擴展與泛型 (Kotlin Extensions & Generics)

10.1 擴展 (Extensions)
10.2 泛型 (Generics)

11. Kotlin 資料、列舉與密封類別 (Kotlin Data、Enum & Sealed Classes)

11.1 資料類別 (Data class)
11.2 列舉類別 (Enum class)
11.3 密封類別 (sealed class)

12. Kotlin 委托 (Kotlin Delegation)

12.1 委托類別 (Delegate)
12.2 委托屬性 (Delegated properties)
12.3 延遲屬性 (Lazy properties)
12.4 可觀察屬性 (Observable properties)
12.5 委托一個 Map 儲存多個屬性 (Storing properties in a map)

13. kotlin 標準函數庫 (Kotlin Standard library - Scope function)

13.1 let 標準函數
13.2 run 標準函數
13.3 with 標準函數
13.4 apply 標準函數
13.5 also 標準函數
13.6 區域函數比較表
13.7 takeIf / takeUnless

14. Kotlin 和 Java 混合使用 (Kotlin and Java interoperability)

14.1 Kotlin 呼叫 Java 應用範例

14.1.1 如何在 IntelliJ IDEA 建立 Kotlin 專案中執行 Java 程式
14.1.2 Null 空值例外發生 (Null Exception)
14.1.3 資料類型映射 (Type Mapping)
14.1.4 屬性訪問 (Property Access )

14.2 Java 呼叫 Kotlin 應用範例

14.2.1 註解 @JvmName
14.2.2 註解 @JvmField
14.2.3 註解 @JvmStatic & Companion Object
14.2.4 註解 @JvmOverLoads
14.2.5 註解 @Throws
14.2.6 Function Types

參考資料 (Reference)

著作聲明

「Kotlin 入門指南」中提供所有的圖文、程式碼與影片教學,以下簡稱「本資料」。「本資料」,允許使用者散布、傳輸,但不得從事任何商業目的之使用。使用時必須完整清楚註明出處與連結,未經註明不得任意轉載。

商標內容聲明

 「本資料」,其中所引用之各商標及產品名稱分屬其合法公司所有,「本資料」,部分採用開放源始碼、圖文與影音等多媒體,引用自於網路,皆屬於其原作者之所有,「本資料」引用純屬介紹之用,並無任何侵權之意,特此聲明,其中內容若有不妥,或是侵犯了您的合法權益,請麻煩通知我們,我們將會迅速協助將侵權的部分移除,謝謝!

7會員
219內容數
哈囉!歡迎光臨我的沙龍!我是 KT,一位對應用程式開發充滿熱情的開發者。在這個專屬空間,我將與您分享我在應用開發領域的深入學習心得和豐富的實戰經驗。如果您對應用程式開發技術同樣充滿好奇,渴望不斷探索新知,歡迎成為我們的會員,一起在應用程式開發的旅途上,探索更深層次的技術世界,享受學習的樂趣。
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
行程 (Process),正如其名,指的是正在執行的程式 (Program),變數在其之中,是獲得命名,能保留自我的少數特殊存在。如果變數屬於全域變數 (Global Value),那麼其生命週期就會和行程一致,其他較短生命週期的都是局部變數 (Local Value)。 從一而終,在生命中止前不變
Thumbnail
接續上次的士兵類別,提到名字用了 String 變數。 String 是字串的意思,在 Kotlin 裡,常見變數可以分成幾個基本資料型別:數字(Number)、字串(String)、布林(Boolean)。 差別在於行為模式不同,以加法為例,數字執行數學課上的四則運算的加法,字串卻做了連接,布林則
Thumbnail
作為指揮官,如果只有一個部下也太令人傷心了。 為能夠有效率的取得大量的士兵,使用類型(Type)來廉價批發。 建立一個檔案「士兵.kt」,這次選 class,讓 IDE 幫我們初始化類別的程式碼 。 建立一個檔案「士兵.kt」,選 class 。  IDE 預設將 class 取名和檔案一樣。 初級
程式是個單純的小伙子,他會按照程式碼的內容執行動作,所以我們可以把函數當作給他的指令「單位」,不是最小單位,就只是單位。 以下是令人熱血沸騰的情境: 「射擊準備!發射角度東偏南33度,目標距離200公尺,風向正西速度每小時100公里,氣溫38度,濕度百分之20。」 「yes, my master.」
Thumbnail
現在,開始建立第一個檔案吧,一樣用最簡單的 Hello World 示範。 在 kotlin 資料夾按右鍵選擇 New 裡的 Kotlin File/Class 。 雖然有許多格式可以選,但其實只是 IDE 提供初始程式碼的差別,完全可以中途更改,我們這次選最基本的 File 格式就好。 命名檔案和
Thumbnail
會撰寫 Hello World 程式,證明我們已經推開程式語言的大門,成為會寫這門語言的開發者,所以,現在就先來寫 Hello World 吧。 目標:印出 Hello World 這串文字。
Thumbnail
所謂專案,就是項目,或者說是主題。 比如說我今天打算寫個猜數字遊戲,於是就建立一個名為「猜數字」的專案。 如果要和外國人合作開發,專案名稱取英文會比較好,雖然不是每個外國人英文都很好,但是工程師要有基本的英文閱讀能力,科技界很多第一手消息都是英文,我們用的開發介面 Intellij IDEA
也許有人聽過, Kotlin 是物件導向語言。 既然都特別提了,肯定還有其他種語言,那就是程序導向語言。 最大的差別就是因為物件導向語言有了物件的概念,所以有了三大能力:繼承(Inheritance)、封裝(Encapsulation)和多型(Polymorphism)。
到官方網站 https://www.jetbrains.com/idea/ 下載名為 IntelliJ IDEA 的 IDE (整合開發環境:意味著撰寫、編譯、連結、除錯、執行等步驟全都包)。 因為安裝只要按照預設選項不停地點下一步,所以就不另做說明了,如果讀者有遇到安裝問題,可以留言提問。
Thumbnail
這幾天參加了 Kotlin Hero 程式競賽前的練習,有個特別的體驗。 看題目一邊理解題意時,一邊就會在心理想像出程式流程的設計長得怎麼樣,比如輸入數值的型態為何?需不需要字串拆解?用什麼迴圈或遞迴編碼結構?一邊實作出來。或是歸納題意後,用數學運算公式整理簡化,比如真值表簡化換算,或是套用等差級數
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
行程 (Process),正如其名,指的是正在執行的程式 (Program),變數在其之中,是獲得命名,能保留自我的少數特殊存在。如果變數屬於全域變數 (Global Value),那麼其生命週期就會和行程一致,其他較短生命週期的都是局部變數 (Local Value)。 從一而終,在生命中止前不變
Thumbnail
接續上次的士兵類別,提到名字用了 String 變數。 String 是字串的意思,在 Kotlin 裡,常見變數可以分成幾個基本資料型別:數字(Number)、字串(String)、布林(Boolean)。 差別在於行為模式不同,以加法為例,數字執行數學課上的四則運算的加法,字串卻做了連接,布林則
Thumbnail
作為指揮官,如果只有一個部下也太令人傷心了。 為能夠有效率的取得大量的士兵,使用類型(Type)來廉價批發。 建立一個檔案「士兵.kt」,這次選 class,讓 IDE 幫我們初始化類別的程式碼 。 建立一個檔案「士兵.kt」,選 class 。  IDE 預設將 class 取名和檔案一樣。 初級
程式是個單純的小伙子,他會按照程式碼的內容執行動作,所以我們可以把函數當作給他的指令「單位」,不是最小單位,就只是單位。 以下是令人熱血沸騰的情境: 「射擊準備!發射角度東偏南33度,目標距離200公尺,風向正西速度每小時100公里,氣溫38度,濕度百分之20。」 「yes, my master.」
Thumbnail
現在,開始建立第一個檔案吧,一樣用最簡單的 Hello World 示範。 在 kotlin 資料夾按右鍵選擇 New 裡的 Kotlin File/Class 。 雖然有許多格式可以選,但其實只是 IDE 提供初始程式碼的差別,完全可以中途更改,我們這次選最基本的 File 格式就好。 命名檔案和
Thumbnail
會撰寫 Hello World 程式,證明我們已經推開程式語言的大門,成為會寫這門語言的開發者,所以,現在就先來寫 Hello World 吧。 目標:印出 Hello World 這串文字。
Thumbnail
所謂專案,就是項目,或者說是主題。 比如說我今天打算寫個猜數字遊戲,於是就建立一個名為「猜數字」的專案。 如果要和外國人合作開發,專案名稱取英文會比較好,雖然不是每個外國人英文都很好,但是工程師要有基本的英文閱讀能力,科技界很多第一手消息都是英文,我們用的開發介面 Intellij IDEA
也許有人聽過, Kotlin 是物件導向語言。 既然都特別提了,肯定還有其他種語言,那就是程序導向語言。 最大的差別就是因為物件導向語言有了物件的概念,所以有了三大能力:繼承(Inheritance)、封裝(Encapsulation)和多型(Polymorphism)。
到官方網站 https://www.jetbrains.com/idea/ 下載名為 IntelliJ IDEA 的 IDE (整合開發環境:意味著撰寫、編譯、連結、除錯、執行等步驟全都包)。 因為安裝只要按照預設選項不停地點下一步,所以就不另做說明了,如果讀者有遇到安裝問題,可以留言提問。
Thumbnail
這幾天參加了 Kotlin Hero 程式競賽前的練習,有個特別的體驗。 看題目一邊理解題意時,一邊就會在心理想像出程式流程的設計長得怎麼樣,比如輸入數值的型態為何?需不需要字串拆解?用什麼迴圈或遞迴編碼結構?一邊實作出來。或是歸納題意後,用數學運算公式整理簡化,比如真值表簡化換算,或是套用等差級數